GDataの狙い

Beta公開されて10日になるGoogle Calendar。シンプルそうなんだけど、連携のバリエーションがいろいろあって奥が深い。なので、解説記事が賑わっている模様です。その後、Google Calendarインターフェース用のAPIということで発表された、Google Data APIs (GData)。実はコレの方が面白いニュースだったりする。
Google Data APIs Overview:
The Google data APIs ('GData' for short) provide a simple standard protocol for reading and writing data on the web. GData combines common XML-based syndication formats (Atom and RSS) with a feed-publishing system based on the Atom publishing protocol, plus some extensions for handling queries.
RSS2.0とAtom1.0を拡張する新しいプロトコルがGData。何が新しいかというと、照会・更新・同時実行制御を包含した点。カレンダー要素には照会・更新・削除なんかがあるからまあ当たり前なんだけど、このプロトコルはGoogle Calendarのためだけではないというのが重要。このプロトコルは、Google Baseを含め、Googleが有するデータに対するあらゆるクライアント・サーバー型のサービスに使えるよう、柔軟且つ汎用的に設計されている。「What's going on with GData?」というのが専らの皆さんの関心事で、Read/Write Webとかでも記事になってます。現時点では、更新時にOptimistic Concurrency(楽観的同時実行制御=更新対象を排他的にロックせず、競合を報告して、自主的にタイミングをずらさせること)を前提としているところから、同時更新ユーザーが少ないサービス、例えば、Google's Web Office suiteといったものからということになりそうですが、いやいや、狙いはもっと大きくて、
Mark McLaren's Weblog - GData is about more than Google Calendar integration:
This all sounds a bit like the beginnings of a Google powered enterprise portal to me. Integration of Google's own applications is already starting to happen, little chunks of Google Calendar are starting to surface inside Gmail.
てなことを言っている人もいらっしゃるようです。

Pessimistic Concurrency(悲観的同時実行制御)が実装されれば、それこそ普通のデータベースに近づく。二相コミット(必要な資源(データベース行など)を全部排他的にロック保持してから更新し、更新し終えると全部解放する手法。トランザクション処理の世界では今や当たり前だが、PostgreSQLは昨年やっと実装したようだ。データベース自身や基幹系業務に絡んでない限り知らない人も多い)もできるようになるので、もう少し違う展開になるかもしれない。しかし、僕はどうもPessimistic Concurrencyというのは、ネットワーク遅延が当たり前のインターネットには向かないということをさておいたとしても、人間的でない気がする。何よりGoogleらしくない気がする。なんてことを書くと、ACID(Atomic,Consistent,Isolated,Durable)がどうだとか、そもそもトランザクションの完全性とは、とかいう話になるんですが、Googleなら何とかするでしょー。「全てを」とか「完全に」とかにこだわっていれば今のGoogleは存在しなかったはずだしね。それに、
My Life Between Silicon Valley and Japan - 「グーグルをどう語るか」を巡って:
普通の会社なら、生身の人間の痛みみたいなものを、生身の人間が相手して、何とか個別処理をしようと考えるが、グーグルは個別処理を嫌う。

開発陣によって問題点は完全に把握されているが、開発陣の関心は、こうした「例外」が少しでも起こらないようシステムを改善する(新しい要素を取り入れつつ数学の問題を解き続けるみたいな感覚)、という方向にしか向かない。
というようなことを許容すると妙に合点がいったりするから不思議。